﻿using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using ControleRepresentante.Common;
using ControleRepresentante.Logic.Models;
using WebSite.ViewModels.EditViewModels.EditGridViewModels;

namespace WebSite.ViewModels
{
    public class EnderecoViewModel : EditGridItem
    {
        private readonly Endereco m_Endereco;

        public EnderecoViewModel()
            : this(new Endereco())
        {
        }

        public EnderecoViewModel(Endereco endereco)
            : base(endereco)
        {
            m_Endereco = endereco;
        }

        [UIHint("EnderecoType")]
        public string Tipo { get { return m_Endereco.Tipo.GetDescription(); } }

        [DisplayName("Observação")]
        public string Observacao { get { return m_Endereco.Observacao; } }

        [Required(ErrorMessage = "*")]
        public string Rua { get { return m_Endereco.Rua; } }

        [Required(ErrorMessage = "*")]
        [DisplayName("Número")]
        public string Numero { get { return m_Endereco.Numero; } }

        public string Complemento { get { return m_Endereco.Complemento; } }
        
        public string Bairro { get { return m_Endereco.Bairro; } }
        
        public string CEP { get { return m_Endereco.CEP; } }
        
        [Required(ErrorMessage = "*")]
        public string Cidade { get { return m_Endereco.Cidade; } }
        
        [Required(ErrorMessage = "*")]
        public string Estado { get { return m_Endereco.Estado; } }

        public bool Principal { get { return m_Endereco.Principal; } }
    }
}